package com.gxc.slidingWindow;

import java.util.HashMap;
import java.util.Map;

//滑动窗口标准模板
public class SlidingWindow {

    private void handle(String s, String t) {
        Map<Character, Integer> need = new HashMap<>();
        Map<Character, Integer> window = new HashMap<>();
        for (char c : t.toCharArray())
            need.put(c,need.getOrDefault(c,0)+1);
        int left = 0, right = 0;
        int valid = 0;
        while (right < s.length()) {
            // c 是将移入窗口的字符
            char c = s.charAt(right);
            // 右移窗口
            right++;
            // 进行窗口内数据的一系列更新
            //...别的逻辑

            /*** debug 输出的位置 ***/
            System.out.println("window: ["+left+","+ right+")");
            /********************/

            // 判断左侧窗口是否要收缩
            //while (window needs shrink) {
            while (true) {
                // d 是将移出窗口的字符
                char c1 = s.charAt(left);
                // 左移窗口
                left++;
                // 进行窗口内数据的一系列更新
        	//...别的逻辑
            }
        }
    }
}
